package com.api.common.alert.model;


import lombok.Builder;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Map;

/**
 * 告警事件
 */
@Data
@Builder
public class AlertMessage {
    /**
     * 告警类型
     */
    private String alertType;

    /**
     * 告警级别
     */
    private AlertLevel level;

    /**
     * 告警源（任务名/组件名）
     */
    private String source;

    /**
     * 告警消息
     */
    private String message;

    /**
     * 上下文数据
     */
    private Map<String, Object> context;

    /**
     * 时间戳
     */
    @Builder.Default
    private LocalDateTime timestamp = LocalDateTime.now();

    /**
     * traceId（用于日志追踪）
     */
    private String traceId;


    /**
     * 指定告警类型
     */
    private AlertTypeEnums notifierType;

    /**
     * 指定发送告警邮箱
     */
    private String toEmail;

}
